#include "BlackDeath.Core.h"
using namespace BlackDeath::Core;
using namespace BlackDeath::Graphics;

namespace BlackDeath
{
	namespace Core
	{
		#pragma region Constructors and Destructors
		CDrawableGameComponent::CDrawableGameComponent(Core::CGame* game)
			:Core::CGameComponent(game)
		{}

		CDrawableGameComponent::~CDrawableGameComponent() {}
		#pragma endregion

		#pragma region Properties
		bool CDrawableGameComponent::Get_Visible()
		{
			return this->m_bVisible;
		}

		void CDrawableGameComponent::Set_Visible(bool flag)
		{
			this->m_bVisible = flag;
		}
		#pragma endregion

		#pragma region Options
		void CDrawableGameComponent::InternalDraw(Core::CGameTime* gameTime)
		{
			if(!this->Get_Enabled() || !this->Get_Visible())
				return;

			this->Draw(gameTime);
		}
		#pragma endregion

		#pragma region Methods
		void CDrawableGameComponent::LoadContent()
		{}

		void CDrawableGameComponent::UnloadContent()
		{}

		void CDrawableGameComponent::Draw(Core::CGameTime* gameTime)
		{}
		#pragma endregion
	}
}